home *** CD-ROM | disk | FTP | other *** search
/ TPUG - Toronto PET Users Group / TPUG Users Group CD / TPUG Users Group CD.iso / C64 / T-TPUG Old Monthly Disks / (c)t6.d64 / dm master.c (.txt) < prev    next >
Commodore BASIC  |  2007-02-04  |  6KB  |  266 lines

  1. 5 POKE53281,1:POKE53280,1:PRINT"[144][147]":PRINTTAB(15)"DM MASTER"
  2. 7 PRINTTAB(12)"BY PATRICK GROTE"
  3. 10 BEGIN=54272:FORCLEAR=BEGTOBEGIN+24:POKECLEAR,0:NEXT
  4. 20 POKEBE+5,85:POKEBE+6,85:POKEBE+12,85:POKEBE+13,85
  5. 30 POKEBE+24,15
  6. 40 POKEBE+4,33:POKEBE+11,17
  7. 50 FORX=1TO6:READH1,L1,H2,L2:POKEBE+1,H1:POKEBE,L1:POKEBE+8,H2:POKEBE+7,L2
  8. 60 IFH1=50THENFORT=1TO200:NEXT
  9. 70 FORT=1TO100:NEXT
  10. 80 DATA25,30,18,209,33,135,25,30,42,62,31,165,50,60,37,162,42,62,31,165,50,60
  11. 90 DATA37,162
  12. 100 NEXTX
  13. 110 BEGIN=54272:FORCLEAR=BEGTOBEGIN+24:POKECLEAR,0:NEXT
  14. 115 FORI=1TO1500:NEXT
  15. 120 POKE 53281,0:POKE 53280,0:PRINT"":REM AUTHOR PATRICK GROTE FOR C-64
  16. 130 DEF FNA(X)=INT(RND(1)*X)+1
  17. 140 POKE 36879,8:P=4:GOTO 430:REM START
  18. 150 IF CH=1THENTY$="[153]FIGHTER[159][146]"
  19. 160 IF CH=2THENTY$="[154]PALADIN[159][146]"
  20. 170 IF CH=3THENTY$="[155]RANGER[159][146]"
  21. 180 IF CH=4THENTY$="CLERIC[159][146]"
  22. 190 IF CH=5THENTY$="[156]MAGIC-USER[159][146]"
  23. 200 IF CH=6THENTY$="THIEF[159][146]"
  24. 210 IF CH=7THENTY$="[158]MONK[159][146]"
  25. 220 IF RA=1THENRA$="HUMAN[159]"
  26. 230 IF RA=2THENRA$="[153]HALF-ELVEN[159]"
  27. 240 IF RA=3THENRA$="[156]GNOME[159]"
  28. 250 IF RA=4THENRA$="[154]DWARVEN[159]"
  29. 260 IF RA=5THENRA$="ELVEN[159]"
  30. 270 IF RA=6THENRA$="[155]HALFLING[159]"
  31. 280 IF RA=7THENRA$="[158]HALF-ORC[159]"
  32. 290 RETURN
  33. 300 OPEN P,4
  34. 310 PRINT#P,N$,RA$,TY$,"LEVEL"LE
  35. 320 IFTY<4ANDSS>0THENPRINT#P,"STR-"S;SS:GOTO 340
  36. 330 PRINT#P,"*****STRENGTH-"S
  37. 340 PRINT#P,"*****INTELIGENCE-"I
  38. 350 PRINT#P,"*****WISDOM-"W
  39. 360 PRINT#P,"*****DEXTERITY-"D
  40. 370 PRINT#P,"*****CONSTITUTION-"C
  41. 380 PRINT#P,"*****CHARISMA-"CR:PRINT#P
  42. 390 IFCH=1ORCH=2THENPRINT#P,"WEAPONS ":PRINT#4,W$,Y$
  43. 400 PRINT#P,"CONSTITUTION BONUS-"CB:PRINT#P
  44. 410 PRINT#P,"HIT POINTS-"HP:PRINT#P
  45. 420 CLOSE P:GOTO 1660
  46. 430 PRINT"[147][159]CHARACTER TYPE[158]":REM*CHARMENU
  47. 440 PRINT"     1   FIGHTER"
  48. 450 PRINT"     2   PALADIN"
  49. 460 PRINT"     3   RANGER"
  50. 470 PRINT"     4   CLERIC"
  51. 480 PRINT"     5   MAGIC-USER"
  52. 490 PRINT"     6   THIEF"
  53. 500 PRINT"     7   MONK"
  54. 510 PRINT"[159]SELECT"
  55. 520 GET H$:IF H$=""THEN520
  56. 530 IF  H$>"7"OR  H$<"1"THEN430
  57. 540 IF H$="7"OR H$="2"THEN RA=1:GOTO 680
  58. 550 CH=VAL(H$)
  59. 560 PRINT"[147]CHARACTER RACE[158]"
  60. 570 PRINT"     1   HUMAN"
  61. 580 PRINT"     2   HALF-ELVEN"
  62. 590 PRINT"     3   GNOME"
  63. 600 PRINT"     4   DWARF"
  64. 610 PRINT"     5   ELF"
  65. 620 PRINT"     6   HALFLING"
  66. 630 PRINT"     7   HALF-ORC"
  67. 640 PRINT"[159]SELECT"
  68. 650 GET  A$:IF A$=""THEN650
  69. 660 IF A$>"7"OR A$<"1"THEN560
  70. 670 RA=VAL(A$)
  71. 680 CH=VAL(H$):REM LEVEL
  72. 690 INPUT"NAME";N$
  73. 700 PRINT"LEVEL[158]"
  74. 710 INPUT "[159]SELECT";LE
  75. 720 IF LE<1THENLE=1
  76. 730 GOSUB 150
  77. 740 PRINT"[147][158]PLEASE WAIT FOR YOUR"
  78. 750 PRINT"";RA$;"[144] ";TY$;" TO BE ROLLED"
  79. 760 REM
  80. 770 GOSUB 840:S=N
  81. 780 GOSUB 840:D=N
  82. 790 GOSUB 840:C=N
  83. 800 GOSUB 840:W=N
  84. 810 GOSUB 840:I=N
  85. 820 GOSUB 840:CR=N
  86. 830 ONCHGOTO 950,1000,1080,1150,1190,1240,1280
  87. 840 REM RND#GEN
  88. 850 XX=INT(RND(1)*6)+1
  89. 860 YY=INT(RND(1)*6)+1
  90. 870 ZZ=INT(RND(1)*6)+1
  91. 880 N=XX+YY+ZZ
  92. 890 XX=0:YY=0:ZZ=0
  93. 900 RETURN
  94. 910 IFS<18THEN RETURN
  95. 920 S=18:SS=INT(RND(1)*100)+1
  96. 930 IFSS>99THEN SS=00
  97. 940 RETURN
  98. 950 REM*FIGHTER
  99. 960 X=10:IFS<15THENGOTO 770
  100. 970 IFC<7THEN GOTO 790
  101. 980 IFRA>3 THENGOSUB 1340
  102. 990 GOSUB 910:GOTO 1500
  103. 1000 REM PALADIN
  104. 1010 X=10:IFS<12THEN 770
  105. 1020 IFC<=13THEN 790
  106. 1030 IFW<13THEN 800
  107. 1040 IFI<9THEN GOTO 810
  108. 1050 IFCR<17THENGOTO 820
  109. 1060 GOSUB 910
  110. 1070 GOTO 1500
  111. 1080 REM RANGER
  112. 1090 X=8:IFS<13THEN 770
  113. 1100 IFC<14THEN 790
  114. 1110 IFW<14THEN 800
  115. 1120 IFI<13THEN 810
  116. 1130 IFRA>3 THEN GOSUB 1340
  117. 1140 GOTO 1500
  118. 1150 REM CLERIC
  119. 1160 X=8:IFW<14THEN GOTO 800
  120. 1170 IFRA>2THEN GOSUB 1340
  121. 1180 GOTO 1500
  122. 1190 REM MAGIC USER
  123. 1200 X=5:IFI<14THEN 810
  124. 1210 IFD<10THEN 780
  125. 1220 IFRA>3THEN GOSUB 1340
  126. 1230 GOTO 1500
  127. 1240 REM THIEF
  128. 1250 X=6:IFD<14THEN 780
  129. 1260 IFRA>2THEN GOSUB 1340
  130. 1270 GOTO 1500
  131. 1280 REM MONK
  132. 1290 X=5:IFS<16 THEN 760
  133. 1300 IFC<12THEN 790
  134. 1310 IFD<15THEN 780
  135. 1320 IFW<15 THEN 800
  136. 1330 GOTO 1500
  137. 1340 REM RACE MODS
  138. 1350 ON RAGOTO 120,120,1450,1360,1400,1430,1460
  139. 1360 C=C+2:IFC>18THENC=18:REM DWARF
  140. 1370 CR=CR-1:IFCR<3 THENCR=3
  141. 1380 IFC<15THENC=C+2:IFS<=15THENS=S+2
  142. 1390 RETURN
  143. 1400 D=D+1:IFD>18THEND=18:REM ELF
  144. 1410 C=C-1:IFC<3THENC=3
  145. 1420 RETURN
  146. 1430 S=S-1:IFS<1THENS=3:REM HALFLING
  147. 1440 D=D+2:IFD>18THEND=18
  148. 1450 RETURN
  149. 1460 RETURN
  150. 1470 C=C+1:IFC>18THENC=18
  151. 1480 CR=CR-2:IFCR<3THENCR=3
  152. 1490 RETURN
  153. 1500 GOSUB 1720:PRINT"[147][159]FINISHED CHARACTER[158]"SPC(05)" ";N$
  154. 1510 IFS<18ORCH>3THEN PRINT"STRENGTH...."S:GOTO 1530
  155. 1520 PRINT"STRENGTH...."S;:PRINT"[157]";SS
  156. 1530 PRINT"INELIGENCE.."I
  157. 1540 PRINT"WISDOM......"W
  158. 1550 PRINT"DEXTERITY..."D
  159. 1560 PRINT"CONSTITUTION"C
  160. 1570 PRINT"CHARISMA...."CR
  161. 1580 PRINT""
  162. 1590 PRINTSPC(1)RA$;:PRINT" ";:PRINTTY$
  163. 1600 PRINT"[159]LEVEL:"SPC(08)LE
  164. 1610 PRINT"[156]HIT POINTS:   "HP
  165. 1620 IFCH=3THENPRINT"CONS BONUS:   "(CB*LE);
  166. 1630 IFCH=3THEN PRINT(CB*(LE+1)):GOTO 1650
  167. 1640 PRINT"CONS BONUS:   "(CB*LE)
  168. 1650 PRINT"N[158]EW/A[158]GAIN/P[158]RINT/W[158]EAPONS";
  169. 1660 GET A$:IFA$=""THEN 1660
  170. 1670 IFA$="N"THEN RUN
  171. 1680 IFA$="A"THEN730
  172. 1690 IFA$="P"THEN 300
  173. 1700 IFA$="W"THEN 1910
  174. 1710 GOTO 1660
  175. 1720 HP=0:CB=0
  176. 1730 IFCH>3THEN 1790
  177. 1740 IF C=15THENCB=1
  178. 1750 IF C=16THENCB=2
  179. 1760 IF C=17THENCB=3
  180. 1770 IF C=18THENCB=4
  181. 1780 GOTO 1810
  182. 1790 IFC=15THENCB=1
  183. 1800 IFC>15THEN CB=3
  184. 1810 IFCH=3ANDLE=1THENHP=16+CB+CB:RETURN
  185. 1820 IFLE=1THENHP=X+CB:RETURN
  186. 1830 FORAA=1TO(LE-1)
  187. 1840 HP=HP+FNA(X)
  188. 1850 NEXT
  189. 1860 HP=HP+X
  190. 1870 HP=HP+(CB*LE)
  191. 1880 IFCH=3THEN HP=HP+X+CB:REM RANGER 2D8
  192. 1890 RETURN
  193. 1900 IFS>=17THENW$="HOLY AVENGER":RETURN
  194. 1910 IFCH<>1ORCH<>2THENPRINT"[147]YOU DO NOT START WITH WEAPONS!":FORI=1TO1000:NEXT
  195. 1920 GOTO 1500
  196. 1930 PRINT"[147]TABLE FOR FIGHTERS WEAPONS:"
  197. 1940 PRINT"1.     LONG SWORD"
  198. 1950 PRINT"[159]2.     BROAD SWORD"
  199. 1960 PRINT"3.     SHORT SWORD"
  200. 1970 PRINT"[156]4.     BOW AND 50 ARROWS"
  201. 1980 PRINT"5.     SPEAR"
  202. 1990 PRINT"[158]6.     JAVILIEN"
  203. 2000 PRINT"[153]7.     MACE"
  204. 2010 PRINT"[154]8.     HAMMER"
  205. 2020 PRINT"[155]9.     DAGGER"
  206. 2030 PRINT"10.    TRIDENT"
  207. 2040 PRINT""
  208. 2050 INPUT"SELECT TWO";W,Y
  209. 2060 IF W<1 OR Y<1THEN 2050
  210. 2070 IFW>10ORY>10THEN2050
  211. 2080 GOSUB 2250
  212. 2090 PRINT"[147][159]FINISHED CHARACTER[158]"SPC(05)" ";N$
  213. 2100 IFS<18ORCH>3THEN PRINT"STRENGTH...."S:GOTO 2120
  214. 2110 PRINT"STRENGTH...."S;:PRINT"[157]";SS
  215. 2120 PRINT"INELIGENCE.."I
  216. 2130 PRINT"WISDOM......"W
  217. 2140 PRINT"DEXTERITY..."D
  218. 2150 PRINT"CONSTITUTION"C
  219. 2160 PRINT""
  220. 2170 PRINTSPC(1)RA$;:PRINT" ";:PRINTTY$
  221. 2180 PRINT"[159]LEVEL:"SPC(08)LE
  222. 2190 PRINT"WEAPONS: ";W$;",";Y$:PRINT"[156]HIT POINTS:   "HP
  223. 2200 IFCH=3THENPRINT"CONS BONUS:   "(CB*LE);
  224. 2210 IFCH=3THEN PRINT(CB*(LE+1)):GOTO 1650
  225. 2220 PRINT"CONS BONUS:   "(CB*LE)
  226. 2230 PRINT"N[158]EW/A[158]GAIN/P[158]RINT/W[158]EAPONS";
  227. 2240 GOTO 1660
  228. 2250 IF W=1THENW$="LONG SWORD"
  229. 2260 IFY=1 THENY$="LONG SWORD"
  230. 2270 IF W=2 THENW$="BROAD SWORD"
  231. 2280 IF Y=2THENY$="BROAD SWORD"
  232. 2290 IFW=3THEN W$="SHORT SWORD"
  233. 2300 IF Y=3THENY$="SHORT SWORD"
  234. 2310 IFW=4THEN W$="BOW AND 50 ARROWS"
  235. 2320 IFY=4THEN Y$="BOW AND 50 ARROWS"
  236. 2330 IFW=5THEN W$="SPEAR"
  237. 2340 IFY=5THEN Y$="SPEAR"
  238. 2350 IFW=6THEN W$="JAVILIEN"
  239. 2360 IFY=6THEN Y$="JAVILIEN"
  240. 2370 IFW=7THEN W$="MACE"
  241. 2380 IFY=7THEN Y$="MACE"
  242. 2390 IFW=8THEN W$="HAMMER"
  243. 2400 IFY=8THEN Y$="HAMMER"
  244. 2410 IFW=9THEN W$="DAGGER"
  245. 2420 IFY=9THEN Y$="DAGGER"
  246. 2430 IFY=10THENY$="TRIDENT"
  247. 2440 IFW=10THEN W$="TRIDENT"
  248. 2450 GOTO 2090
  249. 2460 RETURN
  250. 2470 PRINT"[147]TABLE FOR PALADINS WEAPONS: "
  251. 2480 PRINT"1.     LONG SWORD"
  252. 2490 PRINT"2.     BROAD SWORD"
  253. 2500 PRINT"3.     SHORT SWORD"
  254. 2510 PRINT"[156]4.     BOW AND 50 ARROWS"
  255. 2520 PRINT"5.     SPEAR"
  256. 2530 PRINT"[158]6.     JAVILIEN"
  257. 2540 PRINT"[153]7.     MACE"
  258. 2550 PRINT"[154]8.     HAMMER"
  259. 2560 PRINT"[155]9.     DAGGER"
  260. 2570 PRINT"10.    TRIDENT"
  261. 2580 PRINT""
  262. 2590 INPUT"SELECT TWO";W,Y
  263. 2600 IF W<1 OR Y<1THEN 2050
  264. 2610 IFW>10ORY>10THEN2050
  265. 2620 GOTO 2250
  266.